package com.beiming.libra.dao;

import com.beiming.libra.domain.ArbitrationUserRelation;
import com.beiming.libra.domain.dto.responsedto.UserRelationResponseDTO;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper;

public interface ArbitrationUserRelationMapper extends Mapper<ArbitrationUserRelation> {

  /**
   * @param userId 用户id
   * @return UserRelationResponseDTO 未分页当事人列表
   */
  List<UserRelationResponseDTO> getUserRelation(@Param("userId") String userId);

  /**
   * @param userId 用户id
   * @return UserRelationResponseDTO 分页当事人列表
   */
  List<UserRelationResponseDTO> getUserRelation(@Param("userId") String userId, @Param("pageIndex") int pageIndex,
      @Param("pageSize") int pageSize);

  /***
   * 查询当事人列表分页查询总数
   */
  int listPartyCount(@Param("userId") String userId);

  /***
   * 查询关联人列表分页查询
   */
  List<UserRelationResponseDTO> listRelation(@Param("userId") String userId,
      @Param("pageIndex") int pageIndex,
      @Param("pageSize") int pageSize);

  /***
   * 查询关联人列表分页查询总数
   */
  int listRelationCount(@Param("userId") String userId);

  /***
   * 查询当事人人详细数据
   */
  UserRelationResponseDTO getUserRelationDetail(@Param("id") String id);

  /**
   * @param userId 用户id
   * @return UserRelationResponseDTO 关联机构列表
   */
  List<UserRelationResponseDTO> getOrganizationRelations(@Param("userId") String userId);

  /**
   * @param userId 用户id
   * @return UserRelationResponseDTO 关联用户机构列表
   */
  List<UserRelationResponseDTO> getAllRelations(@Param("userId") String userId);
}